#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
//#include"Queue.h"
using namespace std;
//#include"Stack.h"
//#include"priority_queue.h"
//
//template<class T>
//class greater
//{
//public:
//	bool operator()(const T& x, const T& y)
//	{
//		return x > y;
//	}
//};
//int main()
//{
//	sxn::stack<int> st;
//	st.push(5);
//	st.push(4);
//	st.push(3);
//	st.push(2);
//	st.push(1);
//	while (!st.empty())
//	{
//		cout << st.top() << "  ";
//		st.pop();
//	}
//
//	sxn::queue<int> qe;
//	qe.push(5);
//	qe.push(4);
//	qe.push(3);
//	qe.push(2);
//	qe.push(1);
//	while (!qe.empty())
//	{
//		cout << qe.front() << "  ";
//		qe.pop();
//	}
//
//	cout << endl;
//	cout << endl;
//	int arr[5] = { 5,4,3,2,1 };
//	sxn::priority_queue<int,vector<int>,greater<int>> pq(arr, arr + 5);
//	/*pq.push(5);
//	pq.push(4);
//	pq.push(3);
//	pq.push(2);
//	pq.push(1);*/
//	while (!pq.empty())
//	{
//		cout << pq.top() << "  ";
//		pq.pop();
//	}
//	return 0;
//}

class A
{
public:
	A(int a = 10)
		:_a(a)
	{
		cout << "A()" << endl;
	}
	A(const A& a)
	{
		cout << "A(A& a)" << endl;
	}
private:
	int _a;
};

int main()
{
	A a1(1);
	A a2 = a1;
	A a3 = 5;
	return 0;
}